/* 权限管理 用户管理接口模块地址 */
import httpInstance from '@/utils/http'
/* TS类型 */
import { resAllUserList, records } from './userTypes'
/* 统一管理接口地址 */
enum API {
  /* 获取全部已有用户账号信息 */
  ALLUSER_URL = '/admin/acl/user/',
  /* 添加一个新的用户账号 */
  ADDUSER_URL = '/admin/acl/user/save',
  /* 更新已有的用户账号 */
  UPDATEUSER_URL = '/admin/acl/user/update',
  /* 获取全部职位 ,当前账号拥有的职位接口*/
  ALLROLEURL = '/admin/acl/user/toAssign/',
  /* 给已有的用户分配角色接口 */
  SETROLE_URL = '/admin/acl/user/doAssignRole',
  /* 删除某一个账号 */
  DELETEUSER_URL = '/admin/acl/user/remove/',
  /* 批量删除的接口 */
  DELETEALLUSER_URL = '/admin/acl/user/batchRemove',
}
/* 获取全部已有用户账号信息 */
export const reqGetUserListAPI = (
  page: number,
  limit: number,
  username: string,
) => {
  return httpInstance.get<any, resAllUserList>(
    API.ALLUSER_URL + `${page}/${limit}?username=${username}`,
  )
}
/* 添加一个新的用户账号 或者修改已有账号信息*/
export const reqAddOrUpdateUserAPI = (data: records) => {
  /* 判断有没有ID 有ID就调用修改接口 没有就调用添加接口 */
  if (data.id) {
    /* 修改信息 */
    return httpInstance.put<any, any>(API.UPDATEUSER_URL, data)
  } else {
    /* 添加用户 */
    return httpInstance.post<any, any>(API.ADDUSER_URL, data)
  }
}
/* 获取全部职位 */
export const reqGetAllRoleListAPI = (userId: number) => {
  return httpInstance.get<any, any>(API.ALLROLEURL + userId)
}
/* 分配接口 */
export const reqSetUserRoleAPI = (data: any) => {
  return httpInstance.post<any, any>(API.SETROLE_URL, data)
}
/* 删除某个账号 */
export const reqDeletUserAPI = (userId: number) => {
  return httpInstance.delete<any, any>(API.DELETEUSER_URL + userId)
}
/* 批量删除 */
export const reqDeletUserListAPI = (idList: number[]) => {
  return httpInstance.delete<any, any>(API.DELETEALLUSER_URL, { data: idList })
}
